<?php 
	/**
	 * 版本五：视图模板smarty初始化配置写入配置文件
	 * Controller基类添加跳转重定向方法反映增删改查后的结果
	 * 新添public文件夹方式公共样式文件
	 */
	
	// 将DB和控制器类都自动引入
	function mvc_autoload($classname)
	{	
		if (file_exists("./models/{$classname}.class.php")){
			require "./models/{$classname}.class.php";
		} else if(file_exists("./controllers/{$classname}.php")){
			require "./controllers/{$classname}.php";
		} else{
			header("HTTP/1.0 404not found");
			echo '<h1>404 Not Found</h1>';
			exit;
		}
	}
	// 导入配置文件
	require './configs/config.php';

	// 导入smarty模板引擎 smarty模板引擎类名直接传入自动加载不了
	require './libs/Smarty.class.php';
	// 注册给定的函数mvc_autoload作为 __autoload 实现其功能
	spl_autoload_register('mvc_autoload');	

	// 通过用户传递的 GET 参数 获取控制器名
	// 获取控制器名 大驼峰命名
	$c = (!empty($_GET['c'])) ? $_GET['c'] : 'Index';
	// 获取方法名 小驼峰命名
	$a = (!empty($_GET['a'])) ? $_GET['a'] : 'index';

	// 拼接类名
	$classname = $c.'Controller';
	// 实例化控制器
	$controller = new $classname();
	// 调用控制器中的方法
	$controller->$a();
 ?>